package com.easyedu.dean.entity.dto.request;

import lombok.Data;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * @author mfy
 */
@Data
public class ReqOpenCourse {
    /**
     * 功能描述:开放课程唯一id
     */
    @Min(value = 1, message = "开放课程唯一id必须大于0")
    private long cultivationSchemeId;

    /**
     * 功能描述:授课学院id
     */
    @Min(value = 1, message = "授课学院id 必须大于0")
    private long teachInstituteId;

    /**
     * 功能描述:授课学院名称
     */
    @NotNull(message = "授课学院名称 不能为空")
    private String teachInstituteName;

    /**
     * 功能描述:开课专业id
     */
    @Min(value = 1, message = "开课专业id 必须大于0")
    private long openDepartmentId;

    /**
     * 功能描述:开课专业名称
     */
    @NotNull(message = "开课专业名称 不能为空")
    private String openDepartmentName;

    /**
     * 功能描述:教授教师id
     */
    @Min(value = 1, message = "教授教师id 必须大于0")
    private long teacherId;

    /**
     * 功能描述:教授教师姓名
     */
    @NotNull(message = "教授教师姓名 不能为空")
    private String teacherName;

    /**
     * 功能描述:理论学时
     */
    @Min(value = 1, message = "理论学时 必须大于0")
    private long theoryClassHour;

    /**
     * 功能描述:实验学时
     */
    @Min(value = 1, message = "实验学时 必须大于0")
    private long practiceClassHour;

    /**
     * 功能描述:总学时
     */
    @Min(value = 1, message = "总学时 必须大于0")
    private long totalClassHour;

    /**
     * 功能描述:平时成绩占比 默认为-1
     */
    private double usualScoreRatio;

    /**
     * 功能描述:实验成绩占比 默认为-1
     */
    private double experimentScoreRatio;

    /**
     * 功能描述:考试成绩占比 默认为-1
     */
    private double examScoreRatio;

    /**
     * 功能描述:可选人数
     */
    @Min(value = 1, message = "可选人数 必须大于0")
    private long capacity;

    /**
     * 功能描述:是否开放（默认为1）  1为不开放 2为开放
     */
    @Min(value = 0, message = "是否开放 应为数字0-2")
    @Max(value = 2, message = "是否开放 应为数字0-2")
    private long isOpen;

    /**
     * 功能描述:是否是重修课程（默认为0） 1为正修 2为重修'
     */
    @Min(value = 0, message = "是否是重修课程 应为数字0-2")
    @Max(value = 2, message = "是否是重修课程 应为数字0-2")
    private long isRepeat;
}
